package com.teradata.obmouse.mouse;

import com.teradata.observer.core.Event;

import java.lang.reflect.Method;

/**
 * Created by lyndon on 2018/5/29.
 */
public class MouseTest {

    public static void main(String[] args) {

        /*
         * var input = document.getElementById("username");
         * input.addListener("click", function(){
         *      alert("鼠标点击了文本框”);
         * })
         */

        // 观察者 和 被观察者 之间没有必然联系
        // 注册的时候，才产生联系
        // 解耦

        MouseEventCallback callback = new MouseEventCallback();
        try {
            Method onClick = MouseEventCallback.class.getMethod("onClick", Event.class);

            // 人为调用鼠标单击事件
            Mouse mouse = new Mouse();

            // 注册事件，并绑定触发的回调执行
            mouse.addListener(MouseEventType.ON_CLICK, callback, onClick);

            mouse.click();

        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }


    }

}
